package cn.wjh.business.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 比赛管理对象 tbl_competition
 *
 * @author jiraWu
 * @date 2023-09-16
 */
@Data
@TableName("tbl_competition")
public class Competition {
	private static final long serialVersionUID = 1L;


	/**
	 * 比赛id
	 */
	@Excel(name = "比赛id")
	@TableId
	private Long competingId;


	/**
	 * 来自哪个学校 外键 来自sys_dept
	 */
	@Excel(name = "来自哪个学校 外键 来自sys_dept")
	private Long deptId;


	/**
	 * 比赛名称
	 */
	@Excel(name = "比赛名称")
	private String name;


	/**
	 * 比赛描述
	 */
	private String description;


	/**
	 * 比赛封面
	 */
	private String cover;


	/**
	 * 比赛开始时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name = "比赛开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date startTime;


	/**
	 * 比赛结束时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name = "比赛结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date endTime;


	/**
	 * 限制报名人数
	 */
	@Excel(name = "限制报名人数")
	private Integer signUpNumber;


	/**
	 * 报名开始时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date signUpStartTime;


	/**
	 * 报名结束时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date signUpEndTime;


	/**
	 * 比赛状态 0未开始 1进行中 2已结束
	 */
	private String status;


	/**
	 * 是否删除 0代表存在 2代表删除
	 */
	@TableLogic(value = "0", delval = "2")
	private String delFlag;


	/**
	 * 创建者
	 */
	private String createBy;


	/**
	 * 更新者
	 */
	private String updateBy;


	/**
	 * 创建时间
	 */
	private Date createTime;


	/**
	 * 更新时间
	 */
	private Date updateTime;


}

